home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / CENTLOAD.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-02-02  |  7.0 KB  |  250 lines

  1. 10  'CENTLOAD - Short Centre Loaded Dipole -  29 DEC 96 rev. 02 FEB 97
  2. 20  'ref The ARRL ANTENNA BOOK, 17th Edition, page 6-7, Fig 11, by W0SVM
  3. 30  IF EX$=""THEN EX$="EXIT"
  4. 40  PROG$="centload"
  5. 50  COMMON EX$,PROG$,U,UH,LX
  6. 60  CLS:KEY OFF
  7. 70  COLOR 7,0,1
  8. 80  DIM GA(40)    'AWG sizes
  9. 90  PI=3.14159
  10. 100  UL$=STRING$(80,205)
  11. 110  U$="#####.##"
  12. 120  V$="#####.###"
  13. 130  F$="###.###"
  14. 140  G$="####.###"
  15. 150  '
  16. 160  '.....AWG sizes
  17. 170  K=(0.46/0.005)^(1/39)  'increment multiplier
  18. 180   FOR Z=1 TO 40
  19. 190    N=Z+3
  20. 200    GA(Z)=0.46/K^N
  21. 210   NEXT Z
  22. 220  '
  23. 230  '.....start
  24. 240  CLS
  25. 250  COLOR 15,2
  26. 260  PRINT " SHORT CENTRE LOADED DIPOLE";
  27. 270  PRINT TAB(57)"by George Murphy VE3ERP ";
  28. 280  COLOR 1,0:PRINT STRING$(80,223);
  29. 290  COLOR 7,0
  30. 300  LOCATE 3:GOSUB 750   'diagram
  31. 310  PRINT UL$;
  32. 320  IF LX THEN 330 ELSE 350
  33. 330  PRINT " The current predetermined data are for an antenna length of"
  34. 340  PRINT USING F$;LX*0.3048;:PRINT " m. (";USING F$;LX;:PRINT " ft.)"
  35. 350  IF UH=0 AND U<>0 THEN UH=U
  36. 360  GOSUB 2230   'notes
  37. 370  PRINT UL$;
  38. 380  PRINT " Press number in < > to:
  39. 390  PRINT UL$;
  40. 400  PRINT "   < 1 > RUN new program"
  41. 410  IF UH=0 THEN 450
  42. 420  PRINT "   < 2 > Design an AIR-CORE coil for the antenna you just designed"
  43. 430  PRINT "   < 3 > SELECT a commercial coil for the antenna you just designed"
  44. 440  PRINT UL$;
  45. 450  PRINT "   < 0 > EXIT"
  46. 460  Z$=INKEY$
  47. 470  IF Z$=""THEN 460
  48. 480  IF Z$="0"THEN CLS:RUN EX$
  49. 490  IF Z$="1"THEN M=0:UH=0:F=0:D=0:LG=0:BB=0:W=0:DIA=0:GOTO 550   'variables
  50. 500  IF Z$="2"THEN CLS:CHAIN"coildsgn"
  51. 510  IF Z$="3"THEN U=UH:CLS:CHAIN "aircore"
  52. 520  IF F=0 THEN 530
  53. 530  GOTO 460
  54. 540  '
  55. 550  '.....preamble
  56. 560  VIEW PRINT 11 TO 24:CLS:VIEW PRINT:LOCATE 11
  57. 570  OPEN"I",1,"\data\docfiles\antenna.doc"
  58. 580  IF EOF(1)THEN 600
  59. 590  INPUT#1,NOTE$:PRINT "   ";NOTE$:GOTO 580
  60. 600  CLOSE
  61. 610  PRINT UL$;
  62. 620  IF BB THEN 710
  63. 630  PRINT " Press number in < > to choose standard units of measure:"
  64. 640  PRINT UL$;
  65. 650  PRINT "  < 1 >  Metric"
  66. 660  PRINT "  < 2 >  U.S.A./Imperial"
  67. 670  Z$=INKEY$
  68. 680  IF Z$="1"THEN UM=0.3048:UM$=" m.":GOTO 720
  69. 690  IF Z$="2"THEN UM=1:UM$=" ft.":GOTO 720
  70. 700  GOTO 670
  71. 710  IF M THEN STOP
  72. 720  VIEW PRINT 11 TO 24:CLS:VIEW PRINT:LOCATE 11
  73. 730  GOTO 880
  74. 740  '
  75. 750  '.....diagram
  76. 760  T=11    'tab
  77. 770  COLOR 0,7
  78. 780  LOCATE,T:PRINT"                                                           "
  79. 790  LOCATE,T:PRINT"     CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND A SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL     "
  80. 800  LOCATE,T:PRINT"     CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND C SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALLDEFSNGSOUND B SOUNDDEFDBLCALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND C SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL     "
  81. 810  LOCATE,T:PRINT" SOUND SOUND /SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDORORORORORORORORORSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND/ SOUND SOUND "
  82. 820  LOCATE,T:PRINT"                           CALL CALL Loading coil                "
  83. 830  LOCATE,T:PRINT"               52-- CoaxSOUNDSOUNDDEFDBLPRESETSOUND'                             "
  84. 840  LOCATE,T:PRINT"                           OPEN                               "
  85. 850  COLOR 7,0
  86. 860  RETURN
  87. 870  '
  88. 880  '.....input parameters
  89. 890     IF F THEN 920
  90. 900  INPUT" ENTER: Centre frequency (in MHz) of the band you want to operate ";F
  91. 910  IF F=0 THEN LOCATE CSRLIN-1:GOTO 900
  92. 920  SP=300/F*0.656*UM
  93. 930  VIEW PRINT 11 TO 24:CLS:VIEW PRINT:LOCATE 11
  94. 940  PRINT " For maximum efficiency at";F;"MHz, dimension A should be at least";
  95. 950  PRINT INT(SP*100)/100;RIGHT$(UM$,LEN(UM$)-1)
  96. 960  PRINT " Shorter antennas will also work, but at reduced efficiency."
  97. 970  PRINT UL$;
  98. 980    IF LG THEN 1050
  99. 990  HW=468/F*UM
  100. 1000  PRINT " A full size half-wave";F;"MHz dipole is about";USING G$;HW;
  101. 1010  PRINT UM$;"long."
  102. 1020  PRINT " ENTER: Approximate Length (";UM$;")..............A= ";:INPUT LG
  103. 1030  LG=LG/UM
  104. 1040  IF LG=0 THEN LOCATE CSRLIN-1:GOTO 1020
  105. 1050    IF DIA THEN 1240
  106. 1060  VIEW PRINT 11 TO 24:CLS:VIEW PRINT:LOCATE 11
  107. 1070  PRINT " Use the largest diameter wire that is practical for your ";
  108. 1080  PRINT "application......."
  109. 1090  PRINT " Press letter in < > to select conductor size:"
  110. 1100  PRINT UL$;
  111. 1110  PRINT "   < a >  Diameter in millimetres"
  112. 1120  PRINT "   < b >  Diameter in inches"
  113. 1130  PRINT "   < c >  AWG#"
  114. 1140  Z$=INKEY$
  115. 1150  IF Z$="a"OR Z$="A"THEN WS$="mm":GOTO 1190
  116. 1160  IF Z$="b"OR Z$="B"THEN WS$="inches":GOTO 1190
  117. 1170  IF Z$="c"OR Z$="C"THEN WS$="AWG#":GOTO 1190
  118. 1180  GOTO 1140
  119. 1190  PRINT " ENTER: Wire size (";WS$;")";:INPUT ZD
  120. 1200  IF WS$="mm"THEN DIA=ZD/25.4
  121. 1210  IF WS$="inches"THEN DIA=ZD
  122. 1220  IF WS$="AWG#"THEN DIA=GA(ZD)
  123. 1230  '
  124. 1240  '.....display data
  125. 1250  VIEW PRINT 11 TO 24:CLS:VIEW PRINT:LOCATE 11
  126. 1260  COLOR 0,7
  127. 1270  IF UM=1 THEN 1280 ELSE 1330
  128. 1280  X=LG:GOSUB 2120:LOCATE 4,34:PRINT X$;" + B "
  129. 1290  X=LG/2:GOSUB 2120:LOCATE 5,22:PRINT X$;" "
  130. 1300  LOCATE 5,50:PRINT X$;" "
  131. 1310  GOTO 1370
  132. 1320  '
  133. 1330  LOCATE 4,34:PRINT USING F$;LG*0.3048;:PRINT " m.+B "
  134. 1340  LOCATE 5,19:PRINT USING F$;LG/2*0.3048;:PRINT " m. "
  135. 1350  LOCATE 5,51:PRINT USING F$;LG/2*0.3048;:PRINT " m. "
  136. 1360  '
  137. 1370  COLOR 7,0:LOCATE 11:PRINT STRING$(80,32);
  138. 1380  LOCATE CSRLIN-1:PRINT F;"MHz ";
  139. 1390  Y$=WS$
  140. 1400  IF WS$="inches"THEN Y$=CHR$(34)
  141. 1410  IF WS$="AWG#"THEN Y$=CHR$(34)
  142. 1420  Y=DIA:IF Y$="mm"THEN Y=Y*25.4
  143. 1430  PRINT "SHORT CENTRE-LOADED DIPOLE USING";USING "##.###";Y;
  144. 1440  PRINT Y$;" WIRE.";
  145. 1450  IF WS$="AWG#"THEN PRINT " ( ";WS$;ZD;")"ELSE PRINT ""
  146. 1460  PRINT UL$;
  147. 1470  W=ZD   'AWG # for chaining to coil designer program
  148. 1480  '
  149. 1490  '.....calculate and print
  150. 1500  F1=10^6/(68*PI^2*F^2)
  151. 1510  B=0
  152. 1520    F2=LOG((24*(234/F)-B)/DIA-1)
  153. 1530    F3=(1-F*B/234)^2-1
  154. 1540    F4=234/F-B
  155. 1550    F5=LOG((24*LG/2-B)/DIA-1)
  156. 1560    F6=((F*LG/2-F*B)/234)^2-1
  157. 1570    F7=LG/2-B
  158. 1580    L=F1*(F2*F3/F4-F5*F6/F7)     'inductance
  159. 1590  IF L<=0 THEN 1890
  160. 1600  '.....display inductance
  161. 1610  UH=2*L       'coil for dipole
  162. 1620  LN=CSRLIN
  163. 1630  COLOR 0,7:LOCATE 7,41
  164. 1640  PRINT USING F$;UH;:PRINT " >H loading coil"
  165. 1650  COLOR 7,0:LOCATE LN
  166. 1660  PRINT TAB(TB);
  167. 1670  PRINT "For maximum efficiency use the largest practicable diameter wire"
  168. 1680  PRINT TAB(TB);
  169. 1690  PRINT "for both the coil and the dipole legs."
  170. 1700  PRINT
  171. 1710  PRINT TAB(TB);
  172. 1720  PRINT "Coil length should not exceed twice its diameter. Avoid close-"
  173. 1730  PRINT TAB(TB);
  174. 1740  PRINT "wound coils of enamelled wire. Use either bare wire spaced at its"
  175. 1750  PRINT TAB(TB);
  176. 1760  PRINT "own diameter, or close-wound insulated wire."
  177. 1770  PRINT
  178. 1780  PRINT TAB(TB);
  179. 1790  PRINT "Connect Coax shield to centre of coil and offset centre conductor"
  180. 1800  PRINT TAB(TB);
  181. 1810  PRINT "as many turns as required for best SWR."
  182. 1820  PRINT
  183. 1830  PRINT TAB(TB);
  184. 1840  PRINT "(ref. The ARRL ANTENNA BOOK, 17th edition, page 6-7)
  185. 1850  GOSUB 2370   'hardcopy
  186. 1860  CLS:GOTO 230
  187. 1870  END
  188. 1880  '
  189. 1890  BEEP:VIEW PRINT 10 TO 24:CLS:VIEW PRINT:LOCATE 10
  190. 1900  PRINT UL$;
  191. 1910  PRINT " Available space is ample for a full size half-wave";
  192. 1920  PRINT F;"MHz Dipole, which is"
  193. 1930  WL=492/F          '1/2 wavelength in free space, in feet
  194. 1940  RA=WL*12/DIA      'ratio of 1/2 wavelength to wire diameter
  195. 1950  K=0.91
  196. 1960  IF RA>10 THEN K=0.92
  197. 1970  IF RA>12 THEN K=0.93
  198. 1980  IF RA>15 THEN K=0.94
  199. 1990  IF RA>22 THEN K=0.95
  200. 2000  IF RA>50 THEN K=0.96
  201. 2010  IF RA>200 THEN K=0.97
  202. 2020  IF RA>2000 THEN K=0.98
  203. 2030  HW=492*K/F        'length of half wave flat top, in feet
  204. 2040  HW=0.95*HW/K       'end effect correction for F<30MHz
  205. 2050  IF UM=1 THEN X=HW:GOSUB 2120:PRINT X$;" long":GOTO 2070
  206. 2060  IF UM<>1 THEN X=HW*0.3048:X=INT(X*100+0.5)/100:PRINT X;"m. long"
  207. 2070  PRINT UL$;
  208. 2080  GOSUB 2370
  209. 2090  GOTO 230
  210. 2100  END
  211. 2110  '
  212. 2120  '.....convert to feet and inches
  213. 2130  FT=INT(X)
  214. 2140  IN=(X-FT)*12
  215. 2150  IF IN>=12 THEN IN=IN-12:FT=FT+1
  216. 2160  FT$=STR$(FT)
  217. 2170  IF LEN(FT$)<3 THEN FT$=" "+FT$:GOTO 2170
  218. 2180  IN$=STR$(IN)
  219. 2190  IF INT(IN)>9 THEN IN$=LEFT$(IN$,5)ELSE IN$=LEFT$(IN$,4)
  220. 2200  X$=FT$+"'-"+IN$+CHR$(34)
  221. 2210  RETURN
  222. 2220  '
  223. 2230  '.....text block
  224. 2240  TB=7      'tab for text
  225. 2250  PRINT TAB(TB);
  226. 2260  PRINT "  This antenna is a dipole with lumped-constant loading. At modest"
  227. 2270  PRINT TAB(TB);
  228. 2280  PRINT "heights (10-30 metres) it will work well if its physical length is"
  229. 2290  PRINT TAB(TB);
  230. 2300  PRINT "longer than 0.2 x wavelength. This threshold length is calculated"
  231. 2310  PRINT TAB(TB);
  232. 2320  PRINT "by the program. Shorter lengths will be less efficient. The coil"
  233. 2330  PRINT TAB(TB);
  234. 2340  PRINT "length should not exceed twice its diameter for acceptable Q."
  235. 2350  RETURN
  236. 2360  '
  237. 2370  'HARDCOPY
  238. 2380  GOSUB 2490:LOCATE 25,2:COLOR 14,6
  239. 2390  PRINT " Press 1 to print screen, 2 to print screen & ";
  240. 2400  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  241. 2410  Z$=INKEY$:IF Z$="3"THEN GOSUB 2490:RETURN
  242. 2420  IF Z$="1"OR Z$="2"THEN GOSUB 2490:GOTO 2440
  243. 2430  GOTO 2410
  244. 2440  FOR QX=1 TO 24:FOR QY=1 TO 80
  245. 2450  LPRINT CHR$(SCREEN(QX,QY));
  246. 2460  NEXT QY:NEXT QX
  247. 2470  IF Z$="2"THEN LPRINT CHR$(12)
  248. 2480  GOTO 2380
  249. 2490  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  250.